package sim.model;

/**
 * Clase que identifica un evento.
 * 
 * @author alejandro
 * 
 */
public class Evento {

	/**
	 * El tipo de evento. Puede ser alguno de los declarados como constantes.
	 * 
	 */
	private int tipoEvento;

	/**
	 * Si el tipo de evento es EVENTO_FIN_REP_AVION = 3 (es decir, si se termino
	 * de reparar un avión, acá se guarda que avión es el que se terminó de
	 * reparar. En caso contrario este atributo debe ser ignorado.
	 */
	private int avionFinalizado;

	/**
	 * Un texto que describe el evento.
	 */
	private String descEvento;

	/**
	 * El tiempo en el que el evento ocurre.
	 */
	private double tiempoEvento;

	public static final int EVENTO_INICIO = 0;
	public static final int EVENTO_AVION_ROTO = 1;
	public static final int EVENTO_AVION_CONTROL = 2;
	public static final int EVENTO_FIN_REP_AVION = 3;

	private static final String descEventos[] = { "Inicio", "Av. Roto",
			"Av. Control", "Fin Rep Av." };

	public Evento(int tipoEvento, int avionFinalizado, double tiempoEvento) {
		super();
		this.tipoEvento = tipoEvento;
		this.avionFinalizado = avionFinalizado;
		this.tiempoEvento = tiempoEvento;
		this.descEvento = Evento.descEventos[this.tipoEvento];
	}

	public int getTipoEvento() {
		return tipoEvento;
	}

	public int getAvionFinalizado() {
		return avionFinalizado;
	}

	public String getDescEvento() {
		return descEvento;
	}

	public double getTiempoEvento() {
		return tiempoEvento;
	}

	public static String[] getDesceventos() {
		return descEventos;
	}

}
